// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.statement.SQLAlterStatement;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;
#pragma once
#include "MySqlStatementImpl.h"
#include "../../../../ast/statement/SQLAlterStatement.h"

class MySqlCreateAddLogFileGroupStatement : virtual public MySqlStatementImpl, virtual public SQLAlterStatement
{
public:
  SQLName_ptr name;
  SQLExpr_ptr addUndoFile;
  SQLExpr_ptr initialSize;
  SQLExpr_ptr undoBufferSize;
  SQLExpr_ptr redoBufferSize;
  SQLExpr_ptr nodeGroup;
  BOOL_ptr wait;
  SQLExpr_ptr comment;
  SQLExpr_ptr engine;

  SHAREDOBJECT(MySqlCreateAddLogFileGroupStatement);
  SQLName_ptr getName();

  void setName(SQLName_ptr name);

  SQLExpr_ptr getAddUndoFile();

  void setAddUndoFile(SQLExpr_ptr x);

  SQLExpr_ptr getInitialSize();

  void setInitialSize(SQLExpr_ptr x);

  SQLExpr_ptr getUndoBufferSize();

  void setUndoBufferSize(SQLExpr_ptr x);

  SQLExpr_ptr getRedoBufferSize();

  void setRedoBufferSize(SQLExpr_ptr x);

  BOOL_ptr isWait();

  void setWait(BOOL_ptr wait);

  SQLExpr_ptr getEngine();

  void setEngine(SQLExpr_ptr engine);

  SQLExpr_ptr getNodeGroup();

  void setNodeGroup(SQLExpr_ptr x);

  SQLExpr_ptr getComment();

  void setComment(SQLExpr_ptr x);

  void accept0(MySqlASTVisitor_ptr visitor);
};
